<?php
declare(strict_types=1);

namespace Dreamcat\ConfigClient;

use Dreamcat\ConfigClient\Popo\ConfigResult;
use Dreamcat\ConfigClient\Popo\ConfigVersion;

/**
 * 配置中心监听器
 * @author vijay
 */
interface ConfigCenterListener
{
    /**
     * 监听配置
     * @param ConfigVersion[] $lastVersions 上次的版本信息
     * @return mixed[] 出现变化的配置组
     */
    public function notifications(array $lastVersions = []): array;

    /**
     * 获取配置
     * @param ConfigVersion $configVersion 版本信息
     * @return ConfigResult
     */
    public function getConfig(ConfigVersion $configVersion): ConfigResult;
}

# end of file
